package com.mfl.mapper;

import com.github.pagehelper.Page;
import com.mfl.pojo.dto.AdminPageQueryDTO;
import com.mfl.pojo.entity.Admin;
import com.mfl.pojo.vo.AdminPageQueryVO;
import com.mfl.pojo.vo.AdminVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

@Mapper
public interface AdminMapper{

    /**
     * 根据用户名查询管理员
     * @param username
     * @return
     */
    @Select("select * from admin where admin_uname = #{username}")
    Admin selectByUname(String username);

    void insert(Admin newAdmin);

    /**
     * 分页查询管理员
     * @param adminPageQueryDTO
     * @return
     */
    Page<AdminPageQueryVO> queryByPage(AdminPageQueryDTO adminPageQueryDTO);

    /**
     * 批量删除管理员
     * @param ids
     */
    void deleteByIds(List<Integer> ids);

    /**
     * 更新管理员状态
     * @param status
     * @param id
     */
    @Update("update admin set status = #{status} where id = #{id}")
    void updateStatusById(Integer status, Integer id);

    /**
     * 根据id查询管理员
     * @param id
     * @return
     */
    @Select("select * from admin where id = #{id}")
    Admin getByAdminId(int id);

    /**
     * 更新管理员信息
     * @param admin
     */
    void update(Admin admin);
}
